package com.xxl.job.core.biz;

import java.util.List;

import com.xxl.job.core.biz.model.HandleCallbackParam;
import com.xxl.job.core.biz.model.RegistryParam;
import com.xxl.job.core.biz.model.ReturnT;

/**
 * 客户端调用服务端的接口定义
 * AdminBizClient将结果回调发送给调用中心的回调接口，也就是作业完成通知
 * 实现有两个，一个是AdminBizClient、一个是AdminBizImpl
 * 前者用于客户端调用服务端接口
 * 后者是用于服务端具体服务操作
 *
 * @author xuxueli 2017-07-27 21:52:49
 */
public interface AdminBiz {


    // ---------------------- callback ----------------------

    /**
     * callback
     * 回调函数
     *
     * @param callbackParamList
     * @return
     */
    public ReturnT<String> callback(List<HandleCallbackParam> callbackParamList);


    // ---------------------- registry ----------------------

    /**
     * registry
     * 服务注册
     * @param registryParam
     * @return
     */
    public ReturnT<String> registry(RegistryParam registryParam);

    /**
     * registry remove
     * 注册移除
     *
     * @param registryParam
     * @return
     */
    public ReturnT<String> registryRemove(RegistryParam registryParam);


    // ---------------------- biz (custome) ----------------------
    // group、job ... manage

}
